package com.ych.modules.base.service;

import com.baomidou.mybatisplus.service.IService;
import com.ych.modules.base.dbEntity.TSysMenuEntity;

import java.util.List;
import java.util.Set;

/**
 * Created with IntelliJ IDEA.
 * Author: Usopp.tsui
 * Date: 2020/12/5
 * Time: 15:48
 * Description:
 */
public interface ITSysMenuService extends IService<TSysMenuEntity> {
    /**
     * 根据父菜单，查询子菜单
     *
     * @param parentId 父菜单ID
     */
    List<TSysMenuEntity> queryListParentId(String parentId);

    /**
     * 获取不包含按钮的菜单列表
     */
    List<TSysMenuEntity> queryNotButtonList();


    /**
     * 根据父菜单，查询子菜单
     *
     * @param parentId   父菜单ID
     * @param menuIdList 用户菜单ID
     */
    List<TSysMenuEntity> queryListParentId(String parentId, List<String> menuIdList);


    /**
     * 获取用户菜单列表
     */
    List<TSysMenuEntity> getUserMenuList(String userId);

    /**
     * 删除
     */
    void delete(String menuId);


    /**
     * 根据用户ID,查询用户所有权限标签
     *
     * @param userId
     * @return
     */
    Set<String> permsByUserId(String userId);
}
